package shejimoshi.observer;

import java.util.HashSet;
import java.util.Set;

public class GuPiao implements Subject {
    private double price;
    Set<Observer> observers=new HashSet<>();//创建一个无序集合对象
    //为传值构造一个方法：
    public  void setPrice(double price){
        this.price=price;
        notifyObservers();
    }
    //重写
    @Override
    public void attach(Observer observer) {//增加一个被观察者
       observers.add(observer);
    }
    @Override
    public void delete(Observer observer) {//删除一个观被察者
        observers.remove(observer);
    }
    @Override
    public void notifyObservers() {//通知观察者
        for (Observer ob:observers){ //循环次数
            ob.update(price);
        }
    }


    /*public class GuPiao implements Subject {
        private double price;
        Set<Observer> observers=new HashSet<>();//创建一个无序集合对象
        //为传值构造一个方法：
        public  void setPrice(double price){
            this.price=price;
            notifyObservers();
        }
        //重写
        @Override
        public void attach(Observer observer) {//增加一个被观察者
            observers.add(observer);
        }
        @Override
        public void delete(Observer observer) {//删除一个观被察者
            observers.remove(observer);
        }
        @Override
        public void notifyObservers() {//通知观察者
            for (Observer ob:observers){ //循环次数
                ob.update(price);
            }
        }*/
}
